Many search engine services, such as Google and Overture, provide for searching for information that is accessible via the Internet. These search engine services allow users to search for display pages, such as web pages, that may be of interest to users. After a user submits a search request (also referred to as a “query”) that includes search terms, the search engine service identifies web pages that may be related to those search terms. To quickly identify related web pages, a search engine service may maintain a mapping of keywords to web pages. The search engine service may generate this mapping by “crawling” the web (i.e., the World Wide Web) to extract the keywords of each web page. To crawl the web, a search engine service may use a list of root web pages and identify all web pages that are accessible through those root web pages. The keywords of any particular web page can be extracted using various well-known information retrieval techniques, such as identifying the words of a headline, the words supplied in the metadata of the web page, the words that are highlighted, and so on. The search engine service may calculate a score that indicates how to rank the web pages based on the relevance of each web page to the search request, web page popularity (e.g., Google's PageRank), and so on. The search engine service then displays to the user the links to those web pages in the order indicated by the scores. Search engines may more generally provide searching for information in any collection of documents. For example, the collections of documents could include all U.S. patents, all federal court opinions, all archived documents of a company, and so on.
Two well-known techniques for ranking web pages are PageRank and HITS (“Hyperlinked-Induced Topic Search”). PageRank is based on the principle that web pages will have links to (i.e., “outgoing links”) important web pages. Thus, the importance of a web page is based on the number and importance of other web pages that link to that web page (i.e., “incoming links”). In a simple form, the links between web pages can be represented by matrix A, where Aij represents the number of outgoing links from web page i to web page j. The importance score wj for web page j can be represented by the following equation:wj=ΣiAijwi
This equation can be solved by iterative calculations based on the following equation:ATw=wwhere w is the vector of importance scores for the web pages and is the principal eigenvector of AT.
The HITS technique is additionally based on the principle that a web page that has many links to other important web pages may itself be important. Thus, HITS divides “importance” of web pages into two related attributes: “hub” and “authority.” Hub is measured by the “authority” score of the web pages that a web page links to, and “authority” is measured by the “hub” score of the web pages that link to the web page. In contrast to PageRank, which calculates the importance of web pages independently from the query, HITS calculates importance based on the web pages of the result and web pages that are related to the web pages of the result by following incoming and outgoing links. HITS submits a query to a search engine service and uses the web pages of the results as the initial set of web pages. HITS adds to the set those web pages that are the destinations of incoming links and those web pages that are the sources of outgoing links of the web pages of the result. HITS then calculates the authority and hub score of each web page using an iterative algorithm. The authority and hub scores can be represented by the following equations:
            a      ⁡              (        p        )              =                  ∑                  q          →          p                    ⁢              h        ⁡                  (          q          )                      and            h      ⁡              (        p        )              =                  ∑                  p          →          q                    ⁢              a        ⁡                  (          q          )                    where a(p) represents the authority score for web page p and h(p) represents the hub score for web page p. HITS uses an adjacency matrix A to represent the links. The adjacency matrix is represented by the following equation:
      b    ij    =      {                            1                                                    if              ⁢                                                          ⁢              page              ⁢                                                          ⁢              i              ⁢                                                          ⁢              has              ⁢                                                          ⁢              a              ⁢                                                          ⁢              link              ⁢                                                          ⁢              to              ⁢                                                          ⁢              page              ⁢                                                          ⁢              j                        ,                                                0                          otherwise                    The vectors a and h correspond to the authority and hub scores, respectively, of all web pages in the set and can be represented by the following equations:a=ATh and h=Aa
Thus, a and h are eigenvectors of matrices AT A and AAT. HITS may also be modified to factor in the popularity of a web page as measured by the number of visits. Based on an analysis of web logs, bij of the adjacency matrix can be increased whenever a user travels from web page i to web page j.
These search engines generally treat an entire web page as the smallest unit for retrieval and ranking. There are, however, various kinds of objects that can be referenced (e.g., embedded) in a static web page or a web database. These objects may include products, people, papers, organizations, and so on. Various techniques have been used to identify information from web pages that applies to the same object. The collection of such information for an object is referred to as a “web object.” Although the ranking of web pages can provide useful information about the popularity of a web page overall, the ranking of web pages may not reflect the popularity of the various objects within a web page. For example, an unpopular web page may include a description of a popular product, and conversely a popular web page may include a description of an unpopular product. As a result, the popularity of an object referenced by a web page is not necessarily the same as the popularity of the web page itself.
It would be desirable to have a technique for determining the popularity of objects of web pages so that objects can be ranked based on their popularity. It would also be desirable to have a technique for ranking objects of different object types based on the popularity of the objects of the different object types.